﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using PortalMainService.Persistencia;
using PortalMainService.Dominio;

namespace PortalMainService
{
  
    public class Inscripciones : IInscripciones
    {
        private InscripcionDAO inscripcionDAO= null;
        private InscripcionDAO InscripcionDAO
        {
            get
            {
                if (inscripcionDAO == null)
                    inscripcionDAO = new InscripcionDAO();
                return inscripcionDAO;
            }
        }

       // private UsuarioDAO usuarioDAO = null;
       // private UsuarioDAO  UsuarioDAO
//{
    //        get
     //       {
        //        if (UsuarioDAO == null)
         //           UsuarioDAO = new UsuarioDAO();
         //       return UsuarioDAO;
         //   }
        // }

        private CursoDAO cursoDAO = null;
        private CursoDAO CursoDAO
        {
            get
            {
                if (cursoDAO == null)
                    cursoDAO = new CursoDAO();
                return cursoDAO;
            }
        }

        public inscripcion CrearInscripcion(string usuario, int curso, string instructor, string horas, DateTime fecha_inicio)
        {
            Curso cursoExistente = cursoDAO.Obtener(curso);
            inscripcion inscripcionACrear = new inscripcion()
            {
                //usuario= usuario,
                curso = cursoExistente,
                instructor = instructor,
                horas = horas,
                fecha_inicio = fecha_inicio,
            };
            return inscripcionDAO.Crear(inscripcionACrear);
        }

        public inscripcion ObtenerInscripcion(int id_inscripcion)
        {
           return inscripcionDAO.Obtener(id_inscripcion);

        }

        public inscripcion ModificarInscripcion(int id_inscripcion, string usuario, int curso, string instructor, string horas, DateTime fecha_inicio)
        {
            Curso cursoExistente = cursoDAO.Obtener(curso);
            inscripcion inscripcionAModificar = new inscripcion()
            {
                id_inscripcion=id_inscripcion,
                //usuario= usuario,
                curso = cursoExistente,
                instructor = instructor,
                horas = horas,
                fecha_inicio = fecha_inicio,
            };
            return inscripcionDAO.Modificar(inscripcionAModificar);
        }

        public void EliminarInscripcion(int id_inscripcion)
        {
         inscripcion InscripcionExistente= InscripcionDAO.Obtener(id_inscripcion);
         inscripcionDAO.Eliminar(InscripcionExistente);
        }

        public List<inscripcion> ListarInscripcion()
        {
            return inscripcionDAO.ListarTodos().ToList();
        }

            }
}
